Versi 1
| Field | Isi |
|---|---|
| Dokumen ID | VBS-SYS-002 |
| Deskripsi | Pengaturan kop surat brand: identitas perusahaan, kontak dan media sosial, pilihan elemen yang tampil di header dan footer cetakan, berlaku per cabang atau semua cabang, dan dipakai saat mencetak transaksi |
| Nomor Revisi | 1 |
| Tanggal | 2026-10-04 |
| Keterangan | Dokumentasi baseline dari dokumentasi fitur demo dan kode FE |
1. Ringkasan
a. In scope
- User dapat melihat daftar kop surat dalam bentuk pratinjau kartu header dan footer.
- User dapat menyaring daftar kop surat berdasarkan cabang.
- User dapat membuat kop surat dengan data perusahaan: nama perusahaan, nomor telepon, WhatsApp, email, alamat, provinsi, kota, kode pos, footer note, NITKU, Instagram, TikTok, dan website.
- NPWP diambil dari konfigurasi brand dan tidak bisa diubah di form kop surat.
- User dapat memilih elemen yang tampil di header (logo, email, NPWP, website, NITKU, alamat, KTP, telepon) dan footer (email, footer note, WhatsApp, tanda tangan, Instagram, TikTok), serta tipe tata letak header dan footer.
- User dapat menentukan kop surat berlaku untuk semua cabang atau cabang tertentu.
- User dapat mengubah kop surat yang sudah ada.
- Sistem memakai kop surat yang sesuai saat mencetak transaksi.
b. Catatan
c. Kesimpulan
- [FE] -
- [BE] -
2. Functional Requirement
| Kode | Deskripsi |
|---|---|
| FR-01 | Sistem menampilkan daftar kop surat sebagai pratinjau header dan footer |
| FR-02 | Sistem menyediakan filter kop surat berdasarkan cabang |
| FR-03 | User dapat membuat kop surat dengan data perusahaan, pengaturan tampilan, dan cakupan cabang |
| FR-04 | User dapat mengubah kop surat |
| FR-05 | Sistem memilih kop surat untuk cetak transaksi berdasarkan cabang |
3. Use Case List
| Kode | Deskripsi |
|---|---|
| UC-01 | Melihat daftar kop surat |
| UC-02 | Menyaring kop surat berdasarkan cabang |
| UC-03 | Membuat kop surat |
| UC-04 | Mengubah kop surat |
| UC-05 | Memakai kop surat saat mencetak transaksi |
4. Use Case Scenario
UC-01 : Melihat daftar kop surat
| Aktor | User brand |
| Deskripsi | User melihat kop surat yang sudah diatur |
| Prekondisi | User memiliki akses menu Pengaturan Kop Surat |
| Alur utama | 1. User membuka menu Pengaturan lalu Pengaturan Kop Surat. 2. Sistem memuat daftar kop surat. 3. Sistem menampilkan kartu pratinjau header dan footer tiap kop surat beserta cabangnya. |
| Alur negatif | - Jika belum ada data atau gagal memuat, muncul teks "Kop Surat Kosong". |
| Bisnis rule | - Daftar dimuat 30 data per halaman. - Alamat ditampilkan gabungan alamat, kota, provinsi, dan kode pos. |
| Postkondisi | Daftar kop surat tampil |
| Trigger | User membuka halaman Kop Surat |
| Kode FR | FR-01 |
UC-02 : Menyaring kop surat berdasarkan cabang
| Aktor | User brand |
| Deskripsi | User melihat kop surat milik cabang tertentu |
| Prekondisi | User berada di daftar kop surat |
| Alur utama | 1. User memilih cabang di dropdown toolbar. 2. Sistem memuat ulang daftar dari halaman pertama untuk cabang tersebut. |
| Alur negatif | - Jika cabang tidak punya kop surat, muncul "Kop Surat Kosong". |
| Bisnis rule | - Mengosongkan pilihan cabang menampilkan semua kop surat. |
| Postkondisi | Daftar tersaring per cabang |
| Trigger | User memilih cabang |
| Kode FR | FR-02 |
UC-03 : Membuat kop surat
| Aktor | User brand |
| Deskripsi | User membuat kop surat baru untuk cetakan transaksi |
| Prekondisi | User berada di daftar kop surat |
| Alur utama | 1. User menekan Buat Kop Surat. 2. User mengisi data perusahaan. 3. User mencentang elemen header dan footer yang ingin ditampilkan. 4. User memilih tipe tata letak header dan footer. 5. User menentukan penggunaan untuk semua cabang atau menambah cabang tertentu. 6. User menyimpan. 7. Sistem menyimpan, kembali ke daftar, dan menampilkan "Pengaturan Kop Surat Berhasil dibuat". |
| Alur negatif | - Jika nama perusahaan, alamat, nomor telepon, atau kode pos kosong, form tidak disimpan dan muncul pesan validasi. - Jika nomor telepon kurang dari 7 karakter atau email tidak valid, form tidak disimpan. - Jika bukan untuk semua cabang tetapi cabang kosong, muncul "Cabang tidak boleh kosong jika akses bukan untuk semua cabang". - Jika server menolak, muncul notifikasi error dari server. |
| Bisnis rule | - NPWP diambil dari konfigurasi brand dan dinonaktifkan di form. - Media sosial, footer note, status elemen header dan footer, ikon, dan font disimpan sebagai satu paket data tampilan. - Tipe header dan footer disimpan terpisah dari data tampilan. |
| Postkondisi | Kop surat baru tersedia |
| Trigger | User menekan Simpan |
| Kode FR | FR-03 |
UC-04 : Mengubah kop surat
| Aktor | User brand |
| Deskripsi | User memperbarui isi atau tampilan kop surat |
| Prekondisi | Kop surat sudah ada |
| Alur utama | 1. User menekan ubah pada kartu kop surat. 2. Sistem membuka form berisi data kop surat, kota, provinsi, dan cabangnya. 3. User mengubah data atau pengaturan tampilan. 4. User menyimpan. 5. Sistem menyimpan dan menampilkan "Pengaturan Kop Surat Berhasil diupdate". |
| Alur negatif | - Validasi sama seperti UC-03. - Jika server menolak, muncul notifikasi error dari server. |
| Bisnis rule | - Status elemen header dan footer terakhir dimuat ulang dari data tampilan yang tersimpan. |
| Postkondisi | Kop surat terbarui |
| Trigger | User menekan Simpan di form ubah |
| Kode FR | FR-04 |
UC-05 : Memakai kop surat saat mencetak transaksi
| Aktor | System |
| Deskripsi | Sistem memilih kop surat untuk header dan footer cetakan transaksi |
| Prekondisi | User mencetak transaksi (misalnya penjualan, mutasi gudang, kas bank, gaji, produksi) |
| Alur utama | 1. User memilih cetak pada transaksi. 2. Sistem memuat semua kop surat brand. 3. Sistem memilih kop surat sesuai cabang transaksi, atau kop surat untuk semua cabang. 4. Sistem mencetak transaksi dengan kop surat terpilih. |
| Alur negatif | - Jika tidak ada kop surat yang cocok, sistem memakai kop surat pertama. - Jika gagal memuat, cetak gagal dengan pesan error. |
| Bisnis rule | - Kop surat untuk semua cabang ditandai tanpa cabang. |
| Postkondisi | Cetakan memakai kop surat brand |
| Trigger | User mencetak transaksi |
| Kode FR | FR-05 |
5. Data Flow Diagram
DFD-01
6. Sequence Diagram
SD-01 — UC-01 : Melihat daftar kop surat
SD-02 — UC-02 : Menyaring kop surat berdasarkan cabang
SD-03 — UC-03 : Membuat kop surat
SD-04 — UC-04 : Mengubah kop surat
SD-05 — UC-05 : Memakai kop surat saat mencetak transaksi
7. Table Schema
8. API Schema
| Endpoint | Status | Perubahan |
|---|---|---|
GET /kop-surat | existing | - |
GET /kop-surat/:id | existing | - |
POST /kop-surat | existing | - |
PUT /kop-surat/:id | existing | - |
GET /city | existing | - |
GET /gudang/:id | existing | - |